{"componentChunkName":"component---src-templates-article-js","path":"/article/dlaczego-nie-musisz-perfekcyjnie-znać-es6-przed-nauka-reacta","result":{"data":{"strapiArticles":{"title":"Dlaczego nie musisz perfekcyjnie znać ES6+ przed nauką Reacta?","content":"Wiele osób mówi, że <i>musisz świetnie znać vanilla Javascript zanim zaczniesz naukę frameworka!</i> Przede wszystkim - NIE – nie musisz. Opiszę Ci mój start z Reactem i mój stan wiedzy jeżeli chodzi o Javascript.\n\nZanim przestaniesz czytać ten artykuł z bananem na twarzy i myślą, że możesz zaczynać bez podstawowej wiedzy muszę Cię zasmucić - niestety, ale powinieneś wiedzieć i być świadomym jednej rzeczy. Niektóre elementy ES6 to fundamenty składni współczesnego Javascriptu a ich nieznajomość może przynieść Ci zły start.\n\n**Co umiałem zanim zacząłem naukę Reacta?** \n\n- Dobre zrozumienie HTML i CSS\n- Flexbox i SCSS\n- Podstawy Node.js: Express.js, komendy NPM, workflow z Gulp i podstawy GIT\n- Świadomość rzeczy takich jak: hoisting, domknięcia i zasięg\n- Zrobiłem również kilka stron w HTML, CSS i vanilla JS takich jak aplikacja pogodowa czy to-do lista\n\nOczywiście nie musisz uczyć się Expressa, Gulka i wszystkich komend NPM aby zacząć naukę. Poznałem te rzeczy ponieważ chciałem je poznać tak czy siak. Wtedy zaczałem polepszać moją znajomość JS ze składnią ES6+. Po około trzech miesiącach zdecydowałem się na naukę React znając tylko podstawy ES6+. **Co rozumiem poprzez podstawy?**\n\n- Słowa kluczowe let i const, dlaczego nie używać var, dlaczego możemy modyfikować obiekty i tablicę pomimo stosowania const itd.\n- Template strings zamiast konkatenacji\n- Operatora rest i spread\n- Metody na tablicach (forEach, map, filter, reduce, sort, findIndex, some, any) i koncept funkcji wyższego rzędu\n- Funkcje strzałkowe\n- Obietnice i asynchroniczny JS ze składnią async/await\n- Klasy ES6 (tylko teoria)\n- Desktrukturyzacja obiektów i tablic (tylko teoria)\n\nI to wszystko. Nie znałem takich rzeczy jak moduły ES6, symbole, iteratory, struktury Set i Map czy Proxy. Poza modułami ES6, żadne z tych rzeczy nie występują w naturalnym środowisku Reacta (a jeżeli tak jest to zdecydowanie rzadziej). Nie umiałem wykorzystać klas i desktrukturyzacji w praktyce. Wiedziałem tylko, że takie coś istnieje. Może dla wielu z was wydaje się to dużo nauki, ale w rzeczywistości tak nie jest. Da się to ogarnąć całkiem szybko ale rzeczy te są absolutnym must-have jeżeli chodzi o start z nauką nowej biblioteki. Dlaczego?\n\nOtóż komponenty funkcyjne, hooki czy context API stoją u podstaw Reacta w 2021 roku. Oznacza to, że musisz wiedzieć jak desktrukturyzować propsy w funkcjach strzałkowych, rozumieć składnię hooków jak np. useState, korzystać z domyślnych i nazywanych exportów i importów, jak iterować po tablicach korzystając z różnych metod i tak dalej. W dodatku, różne biblioteki z ekosystemu Reacta używają ciekawych funkcji ES6. Na przykład GraphQL korzysta z template strings, a Redux-saga wykorzystuje potencjał generatorów. To kolejny argument za tym, dlaczego nie powinieneś przejmować się wszystkimi ficzerami ES6 zanim wskoczysz w bardziej kompleksowe biblioteki, co więcej:\n\n\"ucz się nowych rzeczy tylko wtedy, kiedy to konieczne na przykład, gdy chcesz poznać nową technologię. Inna wiedza - bez jej praktykowania - wyleci z Twojej głowy szybciej niż myślisz\"\n\nModuły ES6, klasy, metoda bind, konfiguracja Webpacka, narzędzia jak Prettier, ESLint Map, Set - wszystkich tych rzeczy nauczyłem się tylko podczas nauki i praktykowania, co dodatkowo dało mi wiele zabawy i nie załuję mojej decyzji.\n\nWięc moja wskazówka dla Ciebie to: wyluzuj, nie ucz się przesadnie każdego detalu ES6 ponieważ istnieje prawdopodobieństwo, że zapomnisz o tym bez praktycznego wykorzystania w praktycznych przykładach z życia wziętych. Naucz się fundamentów, które wymieniłem wyżej. Jeżeli nie będziesz w stanie zrozumieć konkretnych konceptów i idei w React, zatrzymaj się na moment i wróć do tego ponownie za jakiś czas. Właśnie tak wygląda proces nauki programowania 😊. Trzymam za Ciebie kciuki!\n\nNarazie! ✌️ \n     ","date":"2021-06-05","minutesToRead":5,"slug":"dlaczego-nie-musisz-perfekcyjnie-znać-es6-przed-nauka-reacta","categories":[{"name":"frontend"},{"name":"other"}]}},"pageContext":{"slug":"dlaczego-nie-musisz-perfekcyjnie-znać-es6-przed-nauka-reacta"}},"staticQueryHashes":["3114346481"]}